package 中等.其他;

/**
 * 给你一个二维 二进制 数组 grid。请你找出一个边在水平方向和竖直方向上、面积 最小 的矩形，并且满足 grid 中所有的 1 都在矩形的内部。
 * 返回这个矩形可能的 最小 面积。
 *
 * @ https://leetcode.cn/problems/find-the-minimum-area-to-cover-all-ones-i/description/?envType=daily-question&envId=2025-08-22
 * @date 2025/08/23
 */
public class 包含所有1的最小矩形面积I_3195 {

    public static void main(String[] args) {

    }

    /**
     * 找到最大最小的xy坐标
     */
    public int minimumArea(int[][] grid) {
        int minX = Integer.MAX_VALUE, maxX = 0, minY = Integer.MAX_VALUE, maxY = 0;

        for (int i = 0; i < grid.length; i++) {
            for (int j = 0; j < grid[i].length; j++) {
                if (grid[i][j] == 1) {

                    minX = Math.min(minX, i);
                    maxX = Math.max(maxX, i);
                    minY = Math.min(minY, j);
                    maxY = Math.max(maxY, j);
                }
            }
        }

        return (maxX - minX + 1) * (maxY - minY + 1);

    }

}
